(define (cont-frac N D k)
    (define (iter i result)
        (if (= i 0)
            result
            (iter (- i 1) (/ (N i) (+ (D i) result)))))
    (iter (- k 1) (/ (N k) (D k))))

; 1 2 3 4 5 6 7 8 9
; 1 2 1 1 4 1 1 6 1
(define (D i)
    (if (= (remainder (+ i 1) 3) 0)
        (* 2 (/ (+ i 1) 3))
        1))

(define (e k)
    (+  2
        (cont-frac (lambda (x) 1.0) (lambda (x) (D x) ) k)))

(display "\n========================================\n")
(display (e 100))
(display "\n========================================\n")
